草庐IT

c++ - 将 C++ 结构移植到 Delphi

全部标签

c++ - 在多个线程之间安全地共享一个结构

在Windows/C++下,如果我有一个结构:structListItem{ListItem*next;ListItem*prev;...}连同在主进程和几个动态加载的DLL中运行的多个线程,并且所有这些线程都需要共享上述结构,我如何阻止它们互相踩踏?像这样的东西:ListItem*list=...Alist->next=...B我应该在A和B处放置什么以防止一次运行list->next=...的线程不超过一个? 最佳答案 主要有两种方式。一种可能是最简单的方法是简单地向每个线程发送它自己的数据结构拷贝。这样您就不必使用同步来保护数

小程序开发第一天 项目基本结构和组件概述 大龄java程序员转行之路

pages文件夹page翻译为页面,就是说微信小程序里包含的页面都放在这个文件夹里。类比我们常见的index主页面,login登录页面,这些web页面文件夹转化在微信小程序中就是pages页面。用户创建的文件夹就是index,login等页面文件官方建议把小程序的页面都放在pages我文件夹中,每个文件夹里都有四个文件,分别是。.js文件控制页面的脚本文件,包括存放数据,业务逻辑,事件处理函数等调用Pages()函数实现对页面的调用.json文件这个页面自己的配置文件,管理窗口外观,表现等.wxml相当于html文件,就是存放页面的模板结构wxml是一种类似于html的标签语言,是由微信自己创

windows - Delphi:自定义窗口菜单:需要 Msg.CmdType 和 $FFF0 说明

我正在对使用DelphiXE6开发的Windows应用程序做一些最后的润色。目前,我对窗口系统菜单感到困惑,我指的是当您单击左侧标题栏中的图标时出现的菜单。我定义了两个过程://thisinsertsoneadditionalcommandintothemenuprocedureInsertCommand(Sender:TObject);//thisisobviouslyahandlerofmouseclicksonthatmenuprocedureOnSysCommand(varMsg:TWMSysCommand);messageWM_SYSCOMMAND;定义如下:constALW

windows - 在 Delphi 2K9 中运行时禁用和启用组件。奇怪的问题

代码如下:procedureDisableContrlOL(constcArray:arrayofstring;ReEnable:boolean=False);//canbecalledfromVKP/RAW/GenerationclicksvarAComponent:TComponent;CompListDis,CompListEna:TStringList;beginCompListDis:=TStringList.Create;CompListEna:=TStringList.Create;fori:=Low(cArray)toHigh(cArray)dobeginACompon

windows - 服务器跳跃 DBA 的轻量级/可移植 VCS?

我正在寻找一个VCS来帮助我保持所有工作脚本的同步。要求:可移植(如在闪存驱动器中,而不是代码级)在WindowsXP和Server2003+上运行无安装依赖项(Cygwin、perl、Python)我在我的工作机器上使用Mercurial来控制我作为MSSQLServerDBA和Unix系统管理员维护的各种T-SQL、ksh、perl和CMD/BAT脚本的版本。到目前为止,hg已经在我的AIX机器上工作了——我在登录时挂载了我的主目录,并像处理本地一样处理repo。我一直没能为我使用的Windows机器找到类似的解决方案。他们中的大多数我没有本地管理员权限;即使我这样做了,我也宁愿不

delphi - DeferWindowPos 是否与 VCL 配合良好?

我正在考虑增加对DeferWindowPos的使用。到目前为止,我在一些简单的情况下使用它,并没有发现任何问题。你知道任何陷阱吗?FLeft/FTop/...字段没有正确更新或类似的事情? 最佳答案 DeferWindowPos应该不是问题,因为WM_WINDOWPOSCHANGED、WM_MOVE和WM_SIZE消息在移动/调整大小完成后仍会发送。DeferWindowPos的工作方式就好像用户移动窗口或调整窗口大小一样,VCL会跟踪所有更改并正确更新FLeft、FTop、FWidth和FHeight。

windows - delphi中的多种形式

在我的Delphi项目中,我想要一个“设置”按钮,单击该按钮会打开第二个表单(我认为这是正确的术语,我基本上想要打开一个新窗口)进行设置。当用户完成更改此新表单上的设置后,我希望表单在单击按钮时关闭。第一个“主”表单也需要能够访问用户输入的设置。因此,例如,如果我的程序由一个主窗体组成,计算“A”+“B”(A和B是整数变量),设置窗体允许用户设置A和B的值,我该怎么做? 最佳答案 如果您了解Delphi的对象模型,这并不难。表单是从TObject派生出来的对象,由DFM文件支持,以便更轻松地设置布局。它上面的控件是其他对象,默认情况

c++ - 一般 C++ Linux 到 Windows 移植问题

背景:一个基于网络的服务(tcp+udp,而不是http)存在于一个即将公开发布的C++linux客户端API。此客户端API使用普通的tcp套接字、udp套接字、C++命名空间和部分STL,如std::map和std::vector,并将作为一个集合发布头文件和要链接的.a和.lib文件。问题:刚开始研究如何将此C++客户端API移植到Windows。在Windows下使用gcc/g++有意义吗?我的第一个想法是这行不通,因为Windows上的开发人员通常使用MicrosoftVisualStudio套件,并且他们无法链接到gcc生成的库。这是一个正确的假设,还是gcc提供了一些漂亮

windows - 在没有 WNetAddConnection2 的情况下使用 Delphi 映射网络驱动器

最近我构建了一个GUI应用程序,可将网络连接映射到Windows中的驱动器。不幸的是,它使用WNetAddConnection2()调用来完成此操作。不幸的是,WindowsAPI在映射远程WebDAV连接方面表现不佳。它在Vista中似乎工作正常,除了在尝试启用SSL时,它在XP中不起作用,除非您指定一个文件夹(您不能将它映射到根URL。例如:http://mywebdavserver.tld)。SSL在XP中也不起作用。基本上,我发现使用WNetAddConnection2()非常不可靠。也就是说,有没有什么方法可以在不使用WNetAddConnection2()的情况下使用Web

windows - 从可移植可执行文件的 .idata 部分打印出隐式链接的 dll 的名称

我正在尝试编写一个代码,该代码应该通过使用exe的.idata部分中的IMAGE_IMPORT_DESCRIPTOR结构的“名称”字段打印出exe中所有导入的dll的名称,但程序似乎陷入无限循环。谁能告诉我如何正确打印出名字...#include#include#include#includeintmain(){FILE*fp;inti;if((fp=fopen("c:\\LinkedList.exe","rb"))==NULL)std::coutName,".idata"))t=pimsh->PointerToRawData;pimsh++;}fseek(fp,t,0);IMAGE_